home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sun Solutions 2000 #2
/
Sun Solutions CD (Volume 2 2000)(Special Focus - Java Technologies)(Disc 1).ISO
/
products
/
Software
/
BostonBusinessComputing
/
bbc
/
dist
/
vnet
< prev
next >
Wrap
Text File
|
2000-02-11
|
4KB
|
170 lines
#
# VSH script for Vnet Dispatch
#
IF ( -n $BBC ) THEN
set vnet = BBC
ELSE
set vnet = "/usr/lib/bbc/"
ENDIF
SET v_host=vnet + "hosts.bbc"
# Closes terminal input, uses /dev/null instead.
#SHELL "exec < /dev/tty > /dev/tty"
# Grab command name and set file spec. variables
set v_com=argv:0
set v_fs1=argv:1
set v_fs2=argv:2
set v_n1=(argv:1):un
set v_n2=(argv:2):un
EXPORT v_com v_host v_node v_trans v_os v_n1 v_n2
#
# Check for unsupported command qualifiers
#
IF ( -n q_exclude ) THEN
ERROR "%VNET-E-NOEXCL the EXCLUDE qualifier is not currently supported for
this network"
EXIT
ENDIF
IF ( q_by_owner ) THEN
ERROR "%VNET-E-NOBYOWN the BY_OWNER qualifier is not currently supported for
this network"
EXIT
ENDIF
IF ( q_since != "" ) THEN
ERROR "%VNET-E-NOSINCE the SINCE qualifier is not currently supported for
this network"
EXIT
ENDIF
IF ( q_entry != "" ) THEN
ERROR "%VNET-E-NOENTRY the ENTRY qualifier is not supported for
network operations"
EXIT
ENDIF
IF ( q_symbol ) THEN
ERROR "%VNET-E-NOSYMBOL the SYMBOL qualifier is not supported for
network operations"
EXIT
ENDIF
IF ( q_protection != "" ) THEN
ERROR "%VNET-E-NOPROT the PROTECTION qualifier is not currently supported for
this network"
EXIT
ENDIF
IF ( q_new_version ) THEN
ERROR "%VNET-E-NOVER the NEW_VERSION qualifier is not currently supported for
this network"
EXIT
ENDIF
IF ( q_before != "" ) THEN
ERROR "%VNET-E-NOBEFORE the BEFORE qualifier is not currently supported for
this network"
EXIT
ENDIF
IF ( v_com == "rl" ) THEN
SET v_n1 = v_fs1-"::"
SET v_n1 = v_n1 - ":"
ENDIF
# Verify v_node name in the file hosts.bbc, then get the
# transport name and call that script.
#
SET IFS=" "
IF ( -n v_n1 ) THEN
GETHOST v_n1 # Assigns values to v_os v_node and v_trans
ELSE IF ( -n v_n2 ) THEN
GETHOST v_n2
SET q_confirm = "" # since vcl does the confirm in this case, don't pass
ENDIF # the confirm qualifier on to the network.
IF ( -z v_node) THEN
GETHOST "default"
ENDIF
SET IFS=" "
# Check if a network override was specified,
IF ( -n vnetwork ) SET v_trans = vnetwork
IF ( -n vnetxvms ) SET v_os = vnetxvms
#
# Export these now, so that unix style wildcards can be converted by tr
#
EXPORT v_d1 v_f1 v_d2 v_f2 v_a1 v_a2 v_fs1
#
# Special case for MAIL command
#
IF ( v_com == "ma" ) THEN
SET recips=`sh ${BBC}vmto $v_fs1`
SET text = v_fs2
ENDIF
#
# Determine if filespec. need to be converted from unix to vms style
#
IF ( v_os == "yes" ) THEN
IF ( -n v_n1 ) THEN # Is remote node first?
set v_a1=v_fs1:va
set v_a1=v_a1 - "::"
set v_d1=v_fs1:vd
set v_f1=v_fs1:vf
set v_d2=v_fs2:ud
set v_f2=v_fs2:uf
set v_temp=`echo "$v_f2" | tr '%' '?' | tr -d '\012'`
IF (-n v_temp) THEN
SET v_f2 = v_temp
ENDIF
ELSE IF ( -n v_n2 ) THEN # How about second?
set v_d1=v_fs1:ud
set v_f1=v_fs1:uf
set v_temp=`echo "$v_f1" | tr '%' '?' | tr -d '\012'`
IF (-n v_temp) THEN
SET v_f1 = v_temp
ENDIF
set v_a2=v_fs2:va
set v_a2=v_a2 - "::"
set v_d2=v_fs2:vd
set v_f2=v_fs2:vf
ENDIF
ELSE # Don't translate, keep all unix
set v_a1=v_fs1:ua
set v_a1=v_a1 - "::"
set v_d1=v_fs1:ud
set v_f1=v_fs1:uf
set v_temp=`echo "$v_f1" | tr '%' '?' | tr -d '\012'`
IF (-n v_temp) THEN
SET v_f1 = v_temp
ENDIF
set v_a2=v_fs2:ua
set v_a2=v_a2 - "::"
set v_d2=v_fs2:ud
set v_f2=v_fs2:uf
set v_temp=`echo "$v_f2" | tr '%' '?' | tr -d '\012'`
IF (-n v_temp) THEN
SET v_f2 = v_temp
ENDIF
ENDIF
IF ( v_com == "mv" ) THEN
IF ( v_os == "yes" ) THEN
set v_d2=v_fs2:vd
set v_f2=v_fs2:vf
ENDIF
ENDIF
#
# If the host name exists then
# call the appropriate transport script.
#
IF ( -z v_node ) THEN
ERROR "%VNET-W-UNKNODE, unknown node name."
EXIT
ENDIF
# Call transport script with new args. all set up
SET tp = vnet + "/" + v_trans
SOURCE tp
EXIT